// Generated from Calc.g4 by ANTLR 4.7.1
package CalcClass;

import org.antlr.v4.runtime.tree.ParseTreeVisitor;

/**
 * This interface defines a complete generic visitor for a parse tree produced
 * by {@link CalcParser}.
 *
 * @param <T> The return type of the visit operation. Use {@link Void} for
 * operations with no return type.
 */
public interface CalcVisitor<T> extends ParseTreeVisitor<T> {
	/**
	 * Visit a parse tree produced by {@link CalcParser#s}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitS(CalcParser.SContext ctx);
	/**
	 * Visit a parse tree produced by the {@code programStart}
	 * labeled alternative in {@link CalcParser#program}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitProgramStart(CalcParser.ProgramStartContext ctx);
	/**
	 * Visit a parse tree produced by the {@code programHead}
	 * labeled alternative in {@link CalcParser#program_head}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitProgramHead(CalcParser.ProgramHeadContext ctx);
	/**
	 * Visit a parse tree produced by the {@code programBody}
	 * labeled alternative in {@link CalcParser#program_body}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitProgramBody(CalcParser.ProgramBodyContext ctx);
	/**
	 * Visit a parse tree produced by the {@code multiIdentifier}
	 * labeled alternative in {@link CalcParser#identifier_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMultiIdentifier(CalcParser.MultiIdentifierContext ctx);
	/**
	 * Visit a parse tree produced by the {@code sigIdentifier}
	 * labeled alternative in {@link CalcParser#identifier_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSigIdentifier(CalcParser.SigIdentifierContext ctx);
	/**
	 * Visit a parse tree produced by the {@code constDecla}
	 * labeled alternative in {@link CalcParser#const_declarations}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitConstDecla(CalcParser.ConstDeclaContext ctx);
	/**
	 * Visit a parse tree produced by the {@code multiConstExt}
	 * labeled alternative in {@link CalcParser#const_declaration}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMultiConstExt(CalcParser.MultiConstExtContext ctx);
	/**
	 * Visit a parse tree produced by the {@code sigConstExt}
	 * labeled alternative in {@link CalcParser#const_declaration}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSigConstExt(CalcParser.SigConstExtContext ctx);
	/**
	 * Visit a parse tree produced by the {@code addID}
	 * labeled alternative in {@link CalcParser#const_variable}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAddID(CalcParser.AddIDContext ctx);
	/**
	 * Visit a parse tree produced by the {@code subID}
	 * labeled alternative in {@link CalcParser#const_variable}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSubID(CalcParser.SubIDContext ctx);
	/**
	 * Visit a parse tree produced by the {@code sigID}
	 * labeled alternative in {@link CalcParser#const_variable}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSigID(CalcParser.SigIDContext ctx);
	/**
	 * Visit a parse tree produced by the {@code addNum}
	 * labeled alternative in {@link CalcParser#const_variable}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAddNum(CalcParser.AddNumContext ctx);
	/**
	 * Visit a parse tree produced by the {@code subNum}
	 * labeled alternative in {@link CalcParser#const_variable}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSubNum(CalcParser.SubNumContext ctx);
	/**
	 * Visit a parse tree produced by the {@code sigNum}
	 * labeled alternative in {@link CalcParser#const_variable}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSigNum(CalcParser.SigNumContext ctx);
	/**
	 * Visit a parse tree produced by the {@code sigLetter}
	 * labeled alternative in {@link CalcParser#const_variable}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSigLetter(CalcParser.SigLetterContext ctx);
	/**
	 * Visit a parse tree produced by the {@code typeDecla}
	 * labeled alternative in {@link CalcParser#type_declarations}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTypeDecla(CalcParser.TypeDeclaContext ctx);
	/**
	 * Visit a parse tree produced by the {@code sigType}
	 * labeled alternative in {@link CalcParser#type_declaration}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSigType(CalcParser.SigTypeContext ctx);
	/**
	 * Visit a parse tree produced by the {@code multiType}
	 * labeled alternative in {@link CalcParser#type_declaration}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMultiType(CalcParser.MultiTypeContext ctx);
	/**
	 * Visit a parse tree produced by the {@code baseTypeExt}
	 * labeled alternative in {@link CalcParser#type}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBaseTypeExt(CalcParser.BaseTypeExtContext ctx);
	/**
	 * Visit a parse tree produced by the {@code recordExt}
	 * labeled alternative in {@link CalcParser#type}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRecordExt(CalcParser.RecordExtContext ctx);
	/**
	 * Visit a parse tree produced by the {@code periodExt}
	 * labeled alternative in {@link CalcParser#type}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPeriodExt(CalcParser.PeriodExtContext ctx);
	/**
	 * Visit a parse tree produced by the {@code definedRecord}
	 * labeled alternative in {@link CalcParser#type}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDefinedRecord(CalcParser.DefinedRecordContext ctx);
	/**
	 * Visit a parse tree produced by {@link CalcParser#standard_type}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitStandard_type(CalcParser.Standard_typeContext ctx);
	/**
	 * Visit a parse tree produced by the {@code recordBody}
	 * labeled alternative in {@link CalcParser#record_body}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRecordBody(CalcParser.RecordBodyContext ctx);
	/**
	 * Visit a parse tree produced by the {@code getPeriodList}
	 * labeled alternative in {@link CalcParser#periods}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGetPeriodList(CalcParser.GetPeriodListContext ctx);
	/**
	 * Visit a parse tree produced by the {@code getSigPeriod}
	 * labeled alternative in {@link CalcParser#periods}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGetSigPeriod(CalcParser.GetSigPeriodContext ctx);
	/**
	 * Visit a parse tree produced by the {@code getPeriod}
	 * labeled alternative in {@link CalcParser#period}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGetPeriod(CalcParser.GetPeriodContext ctx);
	/**
	 * Visit a parse tree produced by the {@code varDecla}
	 * labeled alternative in {@link CalcParser#var_declarations}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitVarDecla(CalcParser.VarDeclaContext ctx);
	/**
	 * Visit a parse tree produced by the {@code getVarDeclaList}
	 * labeled alternative in {@link CalcParser#var_declaration}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGetVarDeclaList(CalcParser.GetVarDeclaListContext ctx);
	/**
	 * Visit a parse tree produced by the {@code getSigVarDecla}
	 * labeled alternative in {@link CalcParser#var_declaration}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGetSigVarDecla(CalcParser.GetSigVarDeclaContext ctx);
	/**
	 * Visit a parse tree produced by the {@code getSigSubProDecla}
	 * labeled alternative in {@link CalcParser#subprogram_declarations}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGetSigSubProDecla(CalcParser.GetSigSubProDeclaContext ctx);
	/**
	 * Visit a parse tree produced by the {@code getSubProDeclaList}
	 * labeled alternative in {@link CalcParser#subprogram_declarations}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGetSubProDeclaList(CalcParser.GetSubProDeclaListContext ctx);
	/**
	 * Visit a parse tree produced by the {@code subProgramDecla}
	 * labeled alternative in {@link CalcParser#subprogram_declaration}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSubProgramDecla(CalcParser.SubProgramDeclaContext ctx);
	/**
	 * Visit a parse tree produced by the {@code funcSubProgram}
	 * labeled alternative in {@link CalcParser#subprogram_head}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFuncSubProgram(CalcParser.FuncSubProgramContext ctx);
	/**
	 * Visit a parse tree produced by the {@code proSubProgram}
	 * labeled alternative in {@link CalcParser#subprogram_head}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitProSubProgram(CalcParser.ProSubProgramContext ctx);
	/**
	 * Visit a parse tree produced by the {@code formalPara}
	 * labeled alternative in {@link CalcParser#formal_parameter}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFormalPara(CalcParser.FormalParaContext ctx);
	/**
	 * Visit a parse tree produced by the {@code getSigParaList}
	 * labeled alternative in {@link CalcParser#parameter_lists}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGetSigParaList(CalcParser.GetSigParaListContext ctx);
	/**
	 * Visit a parse tree produced by the {@code getParaLists}
	 * labeled alternative in {@link CalcParser#parameter_lists}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGetParaLists(CalcParser.GetParaListsContext ctx);
	/**
	 * Visit a parse tree produced by the {@code paraVar}
	 * labeled alternative in {@link CalcParser#parameter_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitParaVar(CalcParser.ParaVarContext ctx);
	/**
	 * Visit a parse tree produced by the {@code paraValue}
	 * labeled alternative in {@link CalcParser#parameter_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitParaValue(CalcParser.ParaValueContext ctx);
	/**
	 * Visit a parse tree produced by the {@code varPara}
	 * labeled alternative in {@link CalcParser#var_parameter}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitVarPara(CalcParser.VarParaContext ctx);
	/**
	 * Visit a parse tree produced by the {@code valueParaAssign}
	 * labeled alternative in {@link CalcParser#value_parameter}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitValueParaAssign(CalcParser.ValueParaAssignContext ctx);
	/**
	 * Visit a parse tree produced by the {@code getComStatementList}
	 * labeled alternative in {@link CalcParser#compound_statement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGetComStatementList(CalcParser.GetComStatementListContext ctx);
	/**
	 * Visit a parse tree produced by the {@code nullStatement}
	 * labeled alternative in {@link CalcParser#compound_statement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitNullStatement(CalcParser.NullStatementContext ctx);
	/**
	 * Visit a parse tree produced by the {@code getSigStatement}
	 * labeled alternative in {@link CalcParser#statement_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGetSigStatement(CalcParser.GetSigStatementContext ctx);
	/**
	 * Visit a parse tree produced by the {@code getStatementList}
	 * labeled alternative in {@link CalcParser#statement_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGetStatementList(CalcParser.GetStatementListContext ctx);
	/**
	 * Visit a parse tree produced by the {@code assignStatement}
	 * labeled alternative in {@link CalcParser#statement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAssignStatement(CalcParser.AssignStatementContext ctx);
	/**
	 * Visit a parse tree produced by the {@code proCallStatement}
	 * labeled alternative in {@link CalcParser#statement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitProCallStatement(CalcParser.ProCallStatementContext ctx);
	/**
	 * Visit a parse tree produced by the {@code comStatement}
	 * labeled alternative in {@link CalcParser#statement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitComStatement(CalcParser.ComStatementContext ctx);
	/**
	 * Visit a parse tree produced by the {@code writeStatement}
	 * labeled alternative in {@link CalcParser#statement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitWriteStatement(CalcParser.WriteStatementContext ctx);
	/**
	 * Visit a parse tree produced by the {@code readStatement}
	 * labeled alternative in {@link CalcParser#statement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitReadStatement(CalcParser.ReadStatementContext ctx);
	/**
	 * Visit a parse tree produced by the {@code ifStatement}
	 * labeled alternative in {@link CalcParser#statement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitIfStatement(CalcParser.IfStatementContext ctx);
	/**
	 * Visit a parse tree produced by the {@code caseStatement}
	 * labeled alternative in {@link CalcParser#statement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCaseStatement(CalcParser.CaseStatementContext ctx);
	/**
	 * Visit a parse tree produced by the {@code whileStatement}
	 * labeled alternative in {@link CalcParser#statement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitWhileStatement(CalcParser.WhileStatementContext ctx);
	/**
	 * Visit a parse tree produced by the {@code repeatStatement}
	 * labeled alternative in {@link CalcParser#statement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRepeatStatement(CalcParser.RepeatStatementContext ctx);
	/**
	 * Visit a parse tree produced by the {@code forStatement}
	 * labeled alternative in {@link CalcParser#statement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitForStatement(CalcParser.ForStatementContext ctx);
	/**
	 * Visit a parse tree produced by the {@code getIDVarPartList}
	 * labeled alternative in {@link CalcParser#variable}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGetIDVarPartList(CalcParser.GetIDVarPartListContext ctx);
	/**
	 * Visit a parse tree produced by the {@code getSigID}
	 * labeled alternative in {@link CalcParser#variable}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGetSigID(CalcParser.GetSigIDContext ctx);
	/**
	 * Visit a parse tree produced by the {@code getIDVarList}
	 * labeled alternative in {@link CalcParser#id_varparts}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGetIDVarList(CalcParser.GetIDVarListContext ctx);
	/**
	 * Visit a parse tree produced by the {@code getSigIDVar}
	 * labeled alternative in {@link CalcParser#id_varparts}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGetSigIDVar(CalcParser.GetSigIDVarContext ctx);
	/**
	 * Visit a parse tree produced by the {@code expID}
	 * labeled alternative in {@link CalcParser#id_varpart}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitExpID(CalcParser.ExpIDContext ctx);
	/**
	 * Visit a parse tree produced by the {@code fieldID}
	 * labeled alternative in {@link CalcParser#id_varpart}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFieldID(CalcParser.FieldIDContext ctx);
	/**
	 * Visit a parse tree produced by the {@code elsePart}
	 * labeled alternative in {@link CalcParser#else_part}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitElsePart(CalcParser.ElsePartContext ctx);
	/**
	 * Visit a parse tree produced by the {@code getBranchBody}
	 * labeled alternative in {@link CalcParser#case_body}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGetBranchBody(CalcParser.GetBranchBodyContext ctx);
	/**
	 * Visit a parse tree produced by the {@code getSigBranch}
	 * labeled alternative in {@link CalcParser#branch_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGetSigBranch(CalcParser.GetSigBranchContext ctx);
	/**
	 * Visit a parse tree produced by the {@code getBranchList}
	 * labeled alternative in {@link CalcParser#branch_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGetBranchList(CalcParser.GetBranchListContext ctx);
	/**
	 * Visit a parse tree produced by the {@code sigBranch}
	 * labeled alternative in {@link CalcParser#branch}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSigBranch(CalcParser.SigBranchContext ctx);
	/**
	 * Visit a parse tree produced by the {@code getConstList}
	 * labeled alternative in {@link CalcParser#const_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGetConstList(CalcParser.GetConstListContext ctx);
	/**
	 * Visit a parse tree produced by the {@code getSigConst}
	 * labeled alternative in {@link CalcParser#const_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGetSigConst(CalcParser.GetSigConstContext ctx);
	/**
	 * Visit a parse tree produced by {@link CalcParser#updown}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUpdown(CalcParser.UpdownContext ctx);
	/**
	 * Visit a parse tree produced by the {@code getPro}
	 * labeled alternative in {@link CalcParser#call_procedure_statement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGetPro(CalcParser.GetProContext ctx);
	/**
	 * Visit a parse tree produced by the {@code getFunc}
	 * labeled alternative in {@link CalcParser#call_procedure_statement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGetFunc(CalcParser.GetFuncContext ctx);
	/**
	 * Visit a parse tree produced by the {@code getExpList}
	 * labeled alternative in {@link CalcParser#expression_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGetExpList(CalcParser.GetExpListContext ctx);
	/**
	 * Visit a parse tree produced by the {@code getSigExp}
	 * labeled alternative in {@link CalcParser#expression_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGetSigExp(CalcParser.GetSigExpContext ctx);
	/**
	 * Visit a parse tree produced by the {@code relopSimExp}
	 * labeled alternative in {@link CalcParser#expression}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRelopSimExp(CalcParser.RelopSimExpContext ctx);
	/**
	 * Visit a parse tree produced by the {@code sigSimExp}
	 * labeled alternative in {@link CalcParser#expression}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSigSimExp(CalcParser.SigSimExpContext ctx);
	/**
	 * Visit a parse tree produced by the {@code sigTerm}
	 * labeled alternative in {@link CalcParser#simple_expression}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSigTerm(CalcParser.SigTermContext ctx);
	/**
	 * Visit a parse tree produced by the {@code simTerm}
	 * labeled alternative in {@link CalcParser#simple_expression}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSimTerm(CalcParser.SimTermContext ctx);
	/**
	 * Visit a parse tree produced by the {@code addTerm}
	 * labeled alternative in {@link CalcParser#simple_expression}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAddTerm(CalcParser.AddTermContext ctx);
	/**
	 * Visit a parse tree produced by the {@code subTerm}
	 * labeled alternative in {@link CalcParser#simple_expression}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSubTerm(CalcParser.SubTermContext ctx);
	/**
	 * Visit a parse tree produced by the {@code sigFactor}
	 * labeled alternative in {@link CalcParser#term}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSigFactor(CalcParser.SigFactorContext ctx);
	/**
	 * Visit a parse tree produced by the {@code multiFactor}
	 * labeled alternative in {@link CalcParser#term}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMultiFactor(CalcParser.MultiFactorContext ctx);
	/**
	 * Visit a parse tree produced by the {@code ucvFactor}
	 * labeled alternative in {@link CalcParser#factor}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUcvFactor(CalcParser.UcvFactorContext ctx);
	/**
	 * Visit a parse tree produced by the {@code varFactor}
	 * labeled alternative in {@link CalcParser#factor}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitVarFactor(CalcParser.VarFactorContext ctx);
	/**
	 * Visit a parse tree produced by the {@code funcFactor}
	 * labeled alternative in {@link CalcParser#factor}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFuncFactor(CalcParser.FuncFactorContext ctx);
	/**
	 * Visit a parse tree produced by the {@code expFactor}
	 * labeled alternative in {@link CalcParser#factor}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitExpFactor(CalcParser.ExpFactorContext ctx);
	/**
	 * Visit a parse tree produced by the {@code notFactor}
	 * labeled alternative in {@link CalcParser#factor}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitNotFactor(CalcParser.NotFactorContext ctx);
	/**
	 * Visit a parse tree produced by the {@code unsignConstVariableID}
	 * labeled alternative in {@link CalcParser#unsign_const_variable}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUnsignConstVariableID(CalcParser.UnsignConstVariableIDContext ctx);
	/**
	 * Visit a parse tree produced by the {@code unsignConstVariableNum}
	 * labeled alternative in {@link CalcParser#unsign_const_variable}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUnsignConstVariableNum(CalcParser.UnsignConstVariableNumContext ctx);
	/**
	 * Visit a parse tree produced by the {@code unsignConstVariableLetter}
	 * labeled alternative in {@link CalcParser#unsign_const_variable}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUnsignConstVariableLetter(CalcParser.UnsignConstVariableLetterContext ctx);
	/**
	 * Visit a parse tree produced by the {@code unsignConstVariableBoolean}
	 * labeled alternative in {@link CalcParser#unsign_const_variable}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUnsignConstVariableBoolean(CalcParser.UnsignConstVariableBooleanContext ctx);
	/**
	 * Visit a parse tree produced by the {@code readSomePara}
	 * labeled alternative in {@link CalcParser#read}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitReadSomePara(CalcParser.ReadSomeParaContext ctx);
	/**
	 * Visit a parse tree produced by the {@code writeSomePara}
	 * labeled alternative in {@link CalcParser#write}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitWriteSomePara(CalcParser.WriteSomeParaContext ctx);
	/**
	 * Visit a parse tree produced by the {@code readParaTable}
	 * labeled alternative in {@link CalcParser#para_table_read}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitReadParaTable(CalcParser.ReadParaTableContext ctx);
	/**
	 * Visit a parse tree produced by the {@code readPara}
	 * labeled alternative in {@link CalcParser#para_table_read}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitReadPara(CalcParser.ReadParaContext ctx);
	/**
	 * Visit a parse tree produced by the {@code getWriteParaTable}
	 * labeled alternative in {@link CalcParser#para_table_write}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGetWriteParaTable(CalcParser.GetWriteParaTableContext ctx);
	/**
	 * Visit a parse tree produced by the {@code getWritePara}
	 * labeled alternative in {@link CalcParser#para_table_write}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGetWritePara(CalcParser.GetWriteParaContext ctx);
	/**
	 * Visit a parse tree produced by the {@code getWriteString}
	 * labeled alternative in {@link CalcParser#para_table_write}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGetWriteString(CalcParser.GetWriteStringContext ctx);
	/**
	 * Visit a parse tree produced by {@link CalcParser#booleanEnum}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBooleanEnum(CalcParser.BooleanEnumContext ctx);
}